*, *:before, *:after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

#background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fefefe;  
  perspective: 900px;
}

#app {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 340px;
  margin: -170px 0 0 -100px;  
  background: url(http://cdn2.tnwcdn.com/wp-content/blogs.dir/1/files/2013/06/jpeg.jpeg) 0 0 / 200px 340px no-repeat;
  box-shadow: -7px 10px 10px #333;
  transform: rotateX(60deg) rotateY(3deg) rotateZ(-25deg);
  transform-origin:50% 50%;
  transition: all 1s;
}
#background:hover #app {
  transform: rotate3d(0,0,0,0deg);
  box-shadow: -100px 100px 20px #fff;
}